package com.cheng.example.book.advise151.chap5;


import java.util.LinkedList;
import java.util.List;
import java.util.Random;

/**
 *
 * 建议67：不同的列表选择不同的遍历算法
 *
 *
 */
public class Client67 {

    public static void main(String[] args) {
        // 学生数量 80万
        int stuNum = 80 * 100000;
        // List集合，记录所有学生的分数
        List<Integer> scores = new LinkedList<Integer>();
        // 写入分数
        for (int i = 0; i < stuNum; i++) {
            scores.add(new Random().nextInt(150));
        }
        // 记录开始计算 时间
        long start = System.currentTimeMillis();
        System.out.println("平均分是：" + average(scores));
        long end = System.currentTimeMillis();
        System.out.println("执行时间：" + (end - start) + "ms");
    }

    public static int average(List<Integer> scores) {
        int sum = 0;
        // 遍历求和
        for (int i : scores) {
            sum += i;
        }
        return sum / scores.size();
    }

//    public static int average(List<Integer> scores) {
//        int sum = 0;
//        // 遍历求和
//        for (int i = 0; i < scores.size(); i++) {
//            sum += scores.get(i);
//        }
//        return sum / scores.size();
//    }
}